def convert_sd(sd, cpu=False):
    sd_converted = {}
    mapping = get_mapping()
    for k, v in sd.items():
        sd_converted[mapping[k]] = v.cpu() if cpu else v
    return sd_converted


def get_mapping():
    return {
        "encoder.project_in.conv.bias": "encoder.project_in.bias",
        "encoder.project_in.conv.weight": "encoder.project_in.weight",
        "encoder.stages.0.op_list.0.main.conv1.conv.bias": "encoder.stages.0.0.conv1.conv.bias",
        "encoder.stages.0.op_list.0.main.conv1.conv.weight": "encoder.stages.0.0.conv1.conv.weight",
        "encoder.stages.0.op_list.0.main.conv2.conv.weight": "encoder.stages.0.0.conv2.conv.weight",
        "encoder.stages.0.op_list.0.main.conv2.norm.bias": "encoder.stages.0.0.conv2.norm.bias",
        "encoder.stages.0.op_list.0.main.conv2.norm.weight": "encoder.stages.0.0.conv2.norm.weight",
        "encoder.stages.0.op_list.1.main.conv1.conv.bias": "encoder.stages.0.1.conv1.conv.bias",
        "encoder.stages.0.op_list.1.main.conv1.conv.weight": "encoder.stages.0.1.conv1.conv.weight",
        "encoder.stages.0.op_list.1.main.conv2.conv.weight": "encoder.stages.0.1.conv2.conv.weight",
        "encoder.stages.0.op_list.1.main.conv2.norm.bias": "encoder.stages.0.1.conv2.norm.bias",
        "encoder.stages.0.op_list.1.main.conv2.norm.weight": "encoder.stages.0.1.conv2.norm.weight",
        "encoder.stages.0.op_list.2.main.conv.bias": "encoder.stages.0.2.main.bias",
        "encoder.stages.0.op_list.2.main.conv.weight": "encoder.stages.0.2.main.weight",
        "encoder.stages.1.op_list.0.main.conv1.conv.bias": "encoder.stages.1.0.conv1.conv.bias",
        "encoder.stages.1.op_list.0.main.conv1.conv.weight": "encoder.stages.1.0.conv1.conv.weight",
        "encoder.stages.1.op_list.0.main.conv2.conv.weight": "encoder.stages.1.0.conv2.conv.weight",
        "encoder.stages.1.op_list.0.main.conv2.norm.bias": "encoder.stages.1.0.conv2.norm.bias",
        "encoder.stages.1.op_list.0.main.conv2.norm.weight": "encoder.stages.1.0.conv2.norm.weight",
        "encoder.stages.1.op_list.1.main.conv1.conv.bias": "encoder.stages.1.1.conv1.conv.bias",
        "encoder.stages.1.op_list.1.main.conv1.conv.weight": "encoder.stages.1.1.conv1.conv.weight",
        "encoder.stages.1.op_list.1.main.conv2.conv.weight": "encoder.stages.1.1.conv2.conv.weight",
        "encoder.stages.1.op_list.1.main.conv2.norm.bias": "encoder.stages.1.1.conv2.norm.bias",
        "encoder.stages.1.op_list.1.main.conv2.norm.weight": "encoder.stages.1.1.conv2.norm.weight",
        "encoder.stages.1.op_list.2.main.conv.bias": "encoder.stages.1.2.main.bias",
        "encoder.stages.1.op_list.2.main.conv.weight": "encoder.stages.1.2.main.weight",
        "encoder.stages.2.op_list.0.main.conv1.conv.bias": "encoder.stages.2.0.conv1.conv.bias",
        "encoder.stages.2.op_list.0.main.conv1.conv.weight": "encoder.stages.2.0.conv1.conv.weight",
        "encoder.stages.2.op_list.0.main.conv2.conv.weight": "encoder.stages.2.0.conv2.conv.weight",
        "encoder.stages.2.op_list.0.main.conv2.norm.bias": "encoder.stages.2.0.conv2.norm.bias",
        "encoder.stages.2.op_list.0.main.conv2.norm.weight": "encoder.stages.2.0.conv2.norm.weight",
        "encoder.stages.2.op_list.1.main.conv1.conv.bias": "encoder.stages.2.1.conv1.conv.bias",
        "encoder.stages.2.op_list.1.main.conv1.conv.weight": "encoder.stages.2.1.conv1.conv.weight",
        "encoder.stages.2.op_list.1.main.conv2.conv.weight": "encoder.stages.2.1.conv2.conv.weight",
        "encoder.stages.2.op_list.1.main.conv2.norm.bias": "encoder.stages.2.1.conv2.norm.bias",
        "encoder.stages.2.op_list.1.main.conv2.norm.weight": "encoder.stages.2.1.conv2.norm.weight",
        "encoder.stages.2.op_list.2.main.conv.bias": "encoder.stages.2.2.main.bias",
        "encoder.stages.2.op_list.2.main.conv.weight": "encoder.stages.2.2.main.weight",
        "encoder.stages.3.op_list.0.context_module.main.aggreg.0.0.weight": "encoder.stages.3.0.context_module.aggreg.0.0.weight",
        "encoder.stages.3.op_list.0.context_module.main.aggreg.0.1.weight": "encoder.stages.3.0.context_module.aggreg.0.1.weight",
        "encoder.stages.3.op_list.0.context_module.main.proj.conv.weight": "encoder.stages.3.0.context_module.proj.0.weight",
        "encoder.stages.3.op_list.0.context_module.main.proj.norm.bias": "encoder.stages.3.0.context_module.proj.1.bias",
        "encoder.stages.3.op_list.0.context_module.main.proj.norm.weight": "encoder.stages.3.0.context_module.proj.1.weight",
        "encoder.stages.3.op_list.0.context_module.main.qkv.conv.weight": "encoder.stages.3.0.context_module.qkv.0.weight",
        "encoder.stages.3.op_list.0.local_module.main.depth_conv.conv.bias": "encoder.stages.3.0.local_module.depth_conv.conv.bias",
        "encoder.stages.3.op_list.0.local_module.main.depth_conv.conv.weight": "encoder.stages.3.0.local_module.depth_conv.conv.weight",
        "encoder.stages.3.op_list.0.local_module.main.inverted_conv.conv.bias": "encoder.stages.3.0.local_module.inverted_conv.conv.bias",
        "encoder.stages.3.op_list.0.local_module.main.inverted_conv.conv.weight": "encoder.stages.3.0.local_module.inverted_conv.conv.weight",
        "encoder.stages.3.op_list.0.local_module.main.point_conv.conv.weight": "encoder.stages.3.0.local_module.point_conv.conv.weight",
        "encoder.stages.3.op_list.0.local_module.main.point_conv.norm.bias": "encoder.stages.3.0.local_module.point_conv.norm.bias",
        "encoder.stages.3.op_list.0.local_module.main.point_conv.norm.weight": "encoder.stages.3.0.local_module.point_conv.norm.weight",
        "encoder.stages.3.op_list.1.context_module.main.aggreg.0.0.weight": "encoder.stages.3.1.context_module.aggreg.0.0.weight",
        "encoder.stages.3.op_list.1.context_module.main.aggreg.0.1.weight": "encoder.stages.3.1.context_module.aggreg.0.1.weight",
        "encoder.stages.3.op_list.1.context_module.main.proj.conv.weight": "encoder.stages.3.1.context_module.proj.0.weight",
        "encoder.stages.3.op_list.1.context_module.main.proj.norm.bias": "encoder.stages.3.1.context_module.proj.1.bias",
        "encoder.stages.3.op_list.1.context_module.main.proj.norm.weight": "encoder.stages.3.1.context_module.proj.1.weight",
        "encoder.stages.3.op_list.1.context_module.main.qkv.conv.weight": "encoder.stages.3.1.context_module.qkv.0.weight",
        "encoder.stages.3.op_list.1.local_module.main.depth_conv.conv.bias": "encoder.stages.3.1.local_module.depth_conv.conv.bias",
        "encoder.stages.3.op_list.1.local_module.main.depth_conv.conv.weight": "encoder.stages.3.1.local_module.depth_conv.conv.weight",
        "encoder.stages.3.op_list.1.local_module.main.inverted_conv.conv.bias": "encoder.stages.3.1.local_module.inverted_conv.conv.bias",
        "encoder.stages.3.op_list.1.local_module.main.inverted_conv.conv.weight": "encoder.stages.3.1.local_module.inverted_conv.conv.weight",
        "encoder.stages.3.op_list.1.local_module.main.point_conv.conv.weight": "encoder.stages.3.1.local_module.point_conv.conv.weight",
        "encoder.stages.3.op_list.1.local_module.main.point_conv.norm.bias": "encoder.stages.3.1.local_module.point_conv.norm.bias",
        "encoder.stages.3.op_list.1.local_module.main.point_conv.norm.weight": "encoder.stages.3.1.local_module.point_conv.norm.weight",
        "encoder.stages.3.op_list.2.context_module.main.aggreg.0.0.weight": "encoder.stages.3.2.context_module.aggreg.0.0.weight",
        "encoder.stages.3.op_list.2.context_module.main.aggreg.0.1.weight": "encoder.stages.3.2.context_module.aggreg.0.1.weight",
        "encoder.stages.3.op_list.2.context_module.main.proj.conv.weight": "encoder.stages.3.2.context_module.proj.0.weight",
        "encoder.stages.3.op_list.2.context_module.main.proj.norm.bias": "encoder.stages.3.2.context_module.proj.1.bias",
        "encoder.stages.3.op_list.2.context_module.main.proj.norm.weight": "encoder.stages.3.2.context_module.proj.1.weight",
        "encoder.stages.3.op_list.2.context_module.main.qkv.conv.weight": "encoder.stages.3.2.context_module.qkv.0.weight",
        "encoder.stages.3.op_list.2.local_module.main.depth_conv.conv.bias": "encoder.stages.3.2.local_module.depth_conv.conv.bias",
        "encoder.stages.3.op_list.2.local_module.main.depth_conv.conv.weight": "encoder.stages.3.2.local_module.depth_conv.conv.weight",
        "encoder.stages.3.op_list.2.local_module.main.inverted_conv.conv.bias": "encoder.stages.3.2.local_module.inverted_conv.conv.bias",
        "encoder.stages.3.op_list.2.local_module.main.inverted_conv.conv.weight": "encoder.stages.3.2.local_module.inverted_conv.conv.weight",
        "encoder.stages.3.op_list.2.local_module.main.point_conv.conv.weight": "encoder.stages.3.2.local_module.point_conv.conv.weight",
        "encoder.stages.3.op_list.2.local_module.main.point_conv.norm.bias": "encoder.stages.3.2.local_module.point_conv.norm.bias",
        "encoder.stages.3.op_list.2.local_module.main.point_conv.norm.weight": "encoder.stages.3.2.local_module.point_conv.norm.weight",
        "encoder.stages.3.op_list.3.main.conv.bias": "encoder.stages.3.3.main.bias",
        "encoder.stages.3.op_list.3.main.conv.weight": "encoder.stages.3.3.main.weight",
        "encoder.stages.4.op_list.0.context_module.main.aggreg.0.0.weight": "encoder.stages.4.0.context_module.aggreg.0.0.weight",
        "encoder.stages.4.op_list.0.context_module.main.aggreg.0.1.weight": "encoder.stages.4.0.context_module.aggreg.0.1.weight",
        "encoder.stages.4.op_list.0.context_module.main.proj.conv.weight": "encoder.stages.4.0.context_module.proj.0.weight",
        "encoder.stages.4.op_list.0.context_module.main.proj.norm.bias": "encoder.stages.4.0.context_module.proj.1.bias",
        "encoder.stages.4.op_list.0.context_module.main.proj.norm.weight": "encoder.stages.4.0.context_module.proj.1.weight",
        "encoder.stages.4.op_list.0.context_module.main.qkv.conv.weight": "encoder.stages.4.0.context_module.qkv.0.weight",
        "encoder.stages.4.op_list.0.local_module.main.depth_conv.conv.bias": "encoder.stages.4.0.local_module.depth_conv.conv.bias",
        "encoder.stages.4.op_list.0.local_module.main.depth_conv.conv.weight": "encoder.stages.4.0.local_module.depth_conv.conv.weight",
        "encoder.stages.4.op_list.0.local_module.main.inverted_conv.conv.bias": "encoder.stages.4.0.local_module.inverted_conv.conv.bias",
        "encoder.stages.4.op_list.0.local_module.main.inverted_conv.conv.weight": "encoder.stages.4.0.local_module.inverted_conv.conv.weight",
        "encoder.stages.4.op_list.0.local_module.main.point_conv.conv.weight": "encoder.stages.4.0.local_module.point_conv.conv.weight",
        "encoder.stages.4.op_list.0.local_module.main.point_conv.norm.bias": "encoder.stages.4.0.local_module.point_conv.norm.bias",
        "encoder.stages.4.op_list.0.local_module.main.point_conv.norm.weight": "encoder.stages.4.0.local_module.point_conv.norm.weight",
        "encoder.stages.4.op_list.1.context_module.main.aggreg.0.0.weight": "encoder.stages.4.1.context_module.aggreg.0.0.weight",
        "encoder.stages.4.op_list.1.context_module.main.aggreg.0.1.weight": "encoder.stages.4.1.context_module.aggreg.0.1.weight",
        "encoder.stages.4.op_list.1.context_module.main.proj.conv.weight": "encoder.stages.4.1.context_module.proj.0.weight",
        "encoder.stages.4.op_list.1.context_module.main.proj.norm.bias": "encoder.stages.4.1.context_module.proj.1.bias",
        "encoder.stages.4.op_list.1.context_module.main.proj.norm.weight": "encoder.stages.4.1.context_module.proj.1.weight",
        "encoder.stages.4.op_list.1.context_module.main.qkv.conv.weight": "encoder.stages.4.1.context_module.qkv.0.weight",
        "encoder.stages.4.op_list.1.local_module.main.depth_conv.conv.bias": "encoder.stages.4.1.local_module.depth_conv.conv.bias",
        "encoder.stages.4.op_list.1.local_module.main.depth_conv.conv.weight": "encoder.stages.4.1.local_module.depth_conv.conv.weight",
        "encoder.stages.4.op_list.1.local_module.main.inverted_conv.conv.bias": "encoder.stages.4.1.local_module.inverted_conv.conv.bias",
        "encoder.stages.4.op_list.1.local_module.main.inverted_conv.conv.weight": "encoder.stages.4.1.local_module.inverted_conv.conv.weight",
        "encoder.stages.4.op_list.1.local_module.main.point_conv.conv.weight": "encoder.stages.4.1.local_module.point_conv.conv.weight",
        "encoder.stages.4.op_list.1.local_module.main.point_conv.norm.bias": "encoder.stages.4.1.local_module.point_conv.norm.bias",
        "encoder.stages.4.op_list.1.local_module.main.point_conv.norm.weight": "encoder.stages.4.1.local_module.point_conv.norm.weight",
        "encoder.stages.4.op_list.2.context_module.main.aggreg.0.0.weight": "encoder.stages.4.2.context_module.aggreg.0.0.weight",
        "encoder.stages.4.op_list.2.context_module.main.aggreg.0.1.weight": "encoder.stages.4.2.context_module.aggreg.0.1.weight",
        "encoder.stages.4.op_list.2.context_module.main.proj.conv.weight": "encoder.stages.4.2.context_module.proj.0.weight",
        "encoder.stages.4.op_list.2.context_module.main.proj.norm.bias": "encoder.stages.4.2.context_module.proj.1.bias",
        "encoder.stages.4.op_list.2.context_module.main.proj.norm.weight": "encoder.stages.4.2.context_module.proj.1.weight",
        "encoder.stages.4.op_list.2.context_module.main.qkv.conv.weight": "encoder.stages.4.2.context_module.qkv.0.weight",
        "encoder.stages.4.op_list.2.local_module.main.depth_conv.conv.bias": "encoder.stages.4.2.local_module.depth_conv.conv.bias",
        "encoder.stages.4.op_list.2.local_module.main.depth_conv.conv.weight": "encoder.stages.4.2.local_module.depth_conv.conv.weight",
        "encoder.stages.4.op_list.2.local_module.main.inverted_conv.conv.bias": "encoder.stages.4.2.local_module.inverted_conv.conv.bias",
        "encoder.stages.4.op_list.2.local_module.main.inverted_conv.conv.weight": "encoder.stages.4.2.local_module.inverted_conv.conv.weight",
        "encoder.stages.4.op_list.2.local_module.main.point_conv.conv.weight": "encoder.stages.4.2.local_module.point_conv.conv.weight",
        "encoder.stages.4.op_list.2.local_module.main.point_conv.norm.bias": "encoder.stages.4.2.local_module.point_conv.norm.bias",
        "encoder.stages.4.op_list.2.local_module.main.point_conv.norm.weight": "encoder.stages.4.2.local_module.point_conv.norm.weight",
        "encoder.stages.4.op_list.3.main.conv.bias": "encoder.stages.4.3.main.bias",
        "encoder.stages.4.op_list.3.main.conv.weight": "encoder.stages.4.3.main.weight",
        "encoder.stages.5.op_list.0.context_module.main.aggreg.0.0.weight": "encoder.stages.5.0.context_module.aggreg.0.0.weight",
        "encoder.stages.5.op_list.0.context_module.main.aggreg.0.1.weight": "encoder.stages.5.0.context_module.aggreg.0.1.weight",
        "encoder.stages.5.op_list.0.context_module.main.proj.conv.weight": "encoder.stages.5.0.context_module.proj.0.weight",
        "encoder.stages.5.op_list.0.context_module.main.proj.norm.bias": "encoder.stages.5.0.context_module.proj.1.bias",
        "encoder.stages.5.op_list.0.context_module.main.proj.norm.weight": "encoder.stages.5.0.context_module.proj.1.weight",
        "encoder.stages.5.op_list.0.context_module.main.qkv.conv.weight": "encoder.stages.5.0.context_module.qkv.0.weight",
        "encoder.stages.5.op_list.0.local_module.main.depth_conv.conv.bias": "encoder.stages.5.0.local_module.depth_conv.conv.bias",
        "encoder.stages.5.op_list.0.local_module.main.depth_conv.conv.weight": "encoder.stages.5.0.local_module.depth_conv.conv.weight",
        "encoder.stages.5.op_list.0.local_module.main.inverted_conv.conv.bias": "encoder.stages.5.0.local_module.inverted_conv.conv.bias",
        "encoder.stages.5.op_list.0.local_module.main.inverted_conv.conv.weight": "encoder.stages.5.0.local_module.inverted_conv.conv.weight",
        "encoder.stages.5.op_list.0.local_module.main.point_conv.conv.weight": "encoder.stages.5.0.local_module.point_conv.conv.weight",
        "encoder.stages.5.op_list.0.local_module.main.point_conv.norm.bias": "encoder.stages.5.0.local_module.point_conv.norm.bias",
        "encoder.stages.5.op_list.0.local_module.main.point_conv.norm.weight": "encoder.stages.5.0.local_module.point_conv.norm.weight",
        "encoder.stages.5.op_list.1.context_module.main.aggreg.0.0.weight": "encoder.stages.5.1.context_module.aggreg.0.0.weight",
        "encoder.stages.5.op_list.1.context_module.main.aggreg.0.1.weight": "encoder.stages.5.1.context_module.aggreg.0.1.weight",
        "encoder.stages.5.op_list.1.context_module.main.proj.conv.weight": "encoder.stages.5.1.context_module.proj.0.weight",
        "encoder.stages.5.op_list.1.context_module.main.proj.norm.bias": "encoder.stages.5.1.context_module.proj.1.bias",
        "encoder.stages.5.op_list.1.context_module.main.proj.norm.weight": "encoder.stages.5.1.context_module.proj.1.weight",
        "encoder.stages.5.op_list.1.context_module.main.qkv.conv.weight": "encoder.stages.5.1.context_module.qkv.0.weight",
        "encoder.stages.5.op_list.1.local_module.main.depth_conv.conv.bias": "encoder.stages.5.1.local_module.depth_conv.conv.bias",
        "encoder.stages.5.op_list.1.local_module.main.depth_conv.conv.weight": "encoder.stages.5.1.local_module.depth_conv.conv.weight",
        "encoder.stages.5.op_list.1.local_module.main.inverted_conv.conv.bias": "encoder.stages.5.1.local_module.inverted_conv.conv.bias",
        "encoder.stages.5.op_list.1.local_module.main.inverted_conv.conv.weight": "encoder.stages.5.1.local_module.inverted_conv.conv.weight",
        "encoder.stages.5.op_list.1.local_module.main.point_conv.conv.weight": "encoder.stages.5.1.local_module.point_conv.conv.weight",
        "encoder.stages.5.op_list.1.local_module.main.point_conv.norm.bias": "encoder.stages.5.1.local_module.point_conv.norm.bias",
        "encoder.stages.5.op_list.1.local_module.main.point_conv.norm.weight": "encoder.stages.5.1.local_module.point_conv.norm.weight",
        "encoder.stages.5.op_list.2.context_module.main.aggreg.0.0.weight": "encoder.stages.5.2.context_module.aggreg.0.0.weight",
        "encoder.stages.5.op_list.2.context_module.main.aggreg.0.1.weight": "encoder.stages.5.2.context_module.aggreg.0.1.weight",
        "encoder.stages.5.op_list.2.context_module.main.proj.conv.weight": "encoder.stages.5.2.context_module.proj.0.weight",
        "encoder.stages.5.op_list.2.context_module.main.proj.norm.bias": "encoder.stages.5.2.context_module.proj.1.bias",
        "encoder.stages.5.op_list.2.context_module.main.proj.norm.weight": "encoder.stages.5.2.context_module.proj.1.weight",
        "encoder.stages.5.op_list.2.context_module.main.qkv.conv.weight": "encoder.stages.5.2.context_module.qkv.0.weight",
        "encoder.stages.5.op_list.2.local_module.main.depth_conv.conv.bias": "encoder.stages.5.2.local_module.depth_conv.conv.bias",
        "encoder.stages.5.op_list.2.local_module.main.depth_conv.conv.weight": "encoder.stages.5.2.local_module.depth_conv.conv.weight",
        "encoder.stages.5.op_list.2.local_module.main.inverted_conv.conv.bias": "encoder.stages.5.2.local_module.inverted_conv.conv.bias",
        "encoder.stages.5.op_list.2.local_module.main.inverted_conv.conv.weight": "encoder.stages.5.2.local_module.inverted_conv.conv.weight",
        "encoder.stages.5.op_list.2.local_module.main.point_conv.conv.weight": "encoder.stages.5.2.local_module.point_conv.conv.weight",
        "encoder.stages.5.op_list.2.local_module.main.point_conv.norm.bias": "encoder.stages.5.2.local_module.point_conv.norm.bias",
        "encoder.stages.5.op_list.2.local_module.main.point_conv.norm.weight": "encoder.stages.5.2.local_module.point_conv.norm.weight",
        "encoder.project_out.main.op_list.0.conv.bias": "encoder.project_out.main.0.conv.bias",
        "encoder.project_out.main.op_list.0.conv.weight": "encoder.project_out.main.0.conv.weight",
        "decoder.project_in.main.conv.bias": "decoder.project_in.main.conv.bias",
        "decoder.project_in.main.conv.weight": "decoder.project_in.main.conv.weight",
        "decoder.stages.0.op_list.0.main.conv.conv.bias": "decoder.stages.0.0.main.conv.bias",
        "decoder.stages.0.op_list.0.main.conv.conv.weight": "decoder.stages.0.0.main.conv.weight",
        "decoder.stages.0.op_list.1.main.conv1.conv.bias": "decoder.stages.0.1.conv1.conv.bias",
        "decoder.stages.0.op_list.1.main.conv1.conv.weight": "decoder.stages.0.1.conv1.conv.weight",
        "decoder.stages.0.op_list.1.main.conv2.conv.weight": "decoder.stages.0.1.conv2.conv.weight",
        "decoder.stages.0.op_list.1.main.conv2.norm.bias": "decoder.stages.0.1.conv2.norm.bias",
        "decoder.stages.0.op_list.1.main.conv2.norm.weight": "decoder.stages.0.1.conv2.norm.weight",
        "decoder.stages.0.op_list.2.main.conv1.conv.bias": "decoder.stages.0.2.conv1.conv.bias",
        "decoder.stages.0.op_list.2.main.conv1.conv.weight": "decoder.stages.0.2.conv1.conv.weight",
        "decoder.stages.0.op_list.2.main.conv2.conv.weight": "decoder.stages.0.2.conv2.conv.weight",
        "decoder.stages.0.op_list.2.main.conv2.norm.bias": "decoder.stages.0.2.conv2.norm.bias",
        "decoder.stages.0.op_list.2.main.conv2.norm.weight": "decoder.stages.0.2.conv2.norm.weight",
        "decoder.stages.0.op_list.3.main.conv1.conv.bias": "decoder.stages.0.3.conv1.conv.bias",
        "decoder.stages.0.op_list.3.main.conv1.conv.weight": "decoder.stages.0.3.conv1.conv.weight",
        "decoder.stages.0.op_list.3.main.conv2.conv.weight": "decoder.stages.0.3.conv2.conv.weight",
        "decoder.stages.0.op_list.3.main.conv2.norm.bias": "decoder.stages.0.3.conv2.norm.bias",
        "decoder.stages.0.op_list.3.main.conv2.norm.weight": "decoder.stages.0.3.conv2.norm.weight",
        "decoder.stages.1.op_list.0.main.conv.conv.bias": "decoder.stages.1.0.main.conv.bias",
        "decoder.stages.1.op_list.0.main.conv.conv.weight": "decoder.stages.1.0.main.conv.weight",
        "decoder.stages.1.op_list.1.main.conv1.conv.bias": "decoder.stages.1.1.conv1.conv.bias",
        "decoder.stages.1.op_list.1.main.conv1.conv.weight": "decoder.stages.1.1.conv1.conv.weight",
        "decoder.stages.1.op_list.1.main.conv2.conv.weight": "decoder.stages.1.1.conv2.conv.weight",
        "decoder.stages.1.op_list.1.main.conv2.norm.bias": "decoder.stages.1.1.conv2.norm.bias",
        "decoder.stages.1.op_list.1.main.conv2.norm.weight": "decoder.stages.1.1.conv2.norm.weight",
        "decoder.stages.1.op_list.2.main.conv1.conv.bias": "decoder.stages.1.2.conv1.conv.bias",
        "decoder.stages.1.op_list.2.main.conv1.conv.weight": "decoder.stages.1.2.conv1.conv.weight",
        "decoder.stages.1.op_list.2.main.conv2.conv.weight": "decoder.stages.1.2.conv2.conv.weight",
        "decoder.stages.1.op_list.2.main.conv2.norm.bias": "decoder.stages.1.2.conv2.norm.bias",
        "decoder.stages.1.op_list.2.main.conv2.norm.weight": "decoder.stages.1.2.conv2.norm.weight",
        "decoder.stages.1.op_list.3.main.conv1.conv.bias": "decoder.stages.1.3.conv1.conv.bias",
        "decoder.stages.1.op_list.3.main.conv1.conv.weight": "decoder.stages.1.3.conv1.conv.weight",
        "decoder.stages.1.op_list.3.main.conv2.conv.weight": "decoder.stages.1.3.conv2.conv.weight",
        "decoder.stages.1.op_list.3.main.conv2.norm.bias": "decoder.stages.1.3.conv2.norm.bias",
        "decoder.stages.1.op_list.3.main.conv2.norm.weight": "decoder.stages.1.3.conv2.norm.weight",
        "decoder.stages.2.op_list.0.main.conv.conv.bias": "decoder.stages.2.0.main.conv.bias",
        "decoder.stages.2.op_list.0.main.conv.conv.weight": "decoder.stages.2.0.main.conv.weight",
        "decoder.stages.2.op_list.1.main.conv1.conv.bias": "decoder.stages.2.1.conv1.conv.bias",
        "decoder.stages.2.op_list.1.main.conv1.conv.weight": "decoder.stages.2.1.conv1.conv.weight",
        "decoder.stages.2.op_list.1.main.conv2.conv.weight": "decoder.stages.2.1.conv2.conv.weight",
        "decoder.stages.2.op_list.1.main.conv2.norm.bias": "decoder.stages.2.1.conv2.norm.bias",
        "decoder.stages.2.op_list.1.main.conv2.norm.weight": "decoder.stages.2.1.conv2.norm.weight",
        "decoder.stages.2.op_list.2.main.conv1.conv.bias": "decoder.stages.2.2.conv1.conv.bias",
        "decoder.stages.2.op_list.2.main.conv1.conv.weight": "decoder.stages.2.2.conv1.conv.weight",
        "decoder.stages.2.op_list.2.main.conv2.conv.weight": "decoder.stages.2.2.conv2.conv.weight",
        "decoder.stages.2.op_list.2.main.conv2.norm.bias": "decoder.stages.2.2.conv2.norm.bias",
        "decoder.stages.2.op_list.2.main.conv2.norm.weight": "decoder.stages.2.2.conv2.norm.weight",
        "decoder.stages.2.op_list.3.main.conv1.conv.bias": "decoder.stages.2.3.conv1.conv.bias",
        "decoder.stages.2.op_list.3.main.conv1.conv.weight": "decoder.stages.2.3.conv1.conv.weight",
        "decoder.stages.2.op_list.3.main.conv2.conv.weight": "decoder.stages.2.3.conv2.conv.weight",
        "decoder.stages.2.op_list.3.main.conv2.norm.bias": "decoder.stages.2.3.conv2.norm.bias",
        "decoder.stages.2.op_list.3.main.conv2.norm.weight": "decoder.stages.2.3.conv2.norm.weight",
        "decoder.stages.3.op_list.0.main.conv.conv.bias": "decoder.stages.3.0.main.conv.bias",
        "decoder.stages.3.op_list.0.main.conv.conv.weight": "decoder.stages.3.0.main.conv.weight",
        "decoder.stages.3.op_list.1.context_module.main.aggreg.0.0.weight": "decoder.stages.3.1.context_module.aggreg.0.0.weight",
        "decoder.stages.3.op_list.1.context_module.main.aggreg.0.1.weight": "decoder.stages.3.1.context_module.aggreg.0.1.weight",
        "decoder.stages.3.op_list.1.context_module.main.proj.conv.weight": "decoder.stages.3.1.context_module.proj.0.weight",
        "decoder.stages.3.op_list.1.context_module.main.proj.norm.bias": "decoder.stages.3.1.context_module.proj.1.bias",
        "decoder.stages.3.op_list.1.context_module.main.proj.norm.weight": "decoder.stages.3.1.context_module.proj.1.weight",
        "decoder.stages.3.op_list.1.context_module.main.qkv.conv.weight": "decoder.stages.3.1.context_module.qkv.0.weight",
        "decoder.stages.3.op_list.1.local_module.main.depth_conv.conv.bias": "decoder.stages.3.1.local_module.depth_conv.conv.bias",
        "decoder.stages.3.op_list.1.local_module.main.depth_conv.conv.weight": "decoder.stages.3.1.local_module.depth_conv.conv.weight",
        "decoder.stages.3.op_list.1.local_module.main.inverted_conv.conv.bias": "decoder.stages.3.1.local_module.inverted_conv.conv.bias",
        "decoder.stages.3.op_list.1.local_module.main.inverted_conv.conv.weight": "decoder.stages.3.1.local_module.inverted_conv.conv.weight",
        "decoder.stages.3.op_list.1.local_module.main.point_conv.conv.weight": "decoder.stages.3.1.local_module.point_conv.conv.weight",
        "decoder.stages.3.op_list.1.local_module.main.point_conv.norm.bias": "decoder.stages.3.1.local_module.point_conv.norm.bias",
        "decoder.stages.3.op_list.1.local_module.main.point_conv.norm.weight": "decoder.stages.3.1.local_module.point_conv.norm.weight",
        "decoder.stages.3.op_list.2.context_module.main.aggreg.0.0.weight": "decoder.stages.3.2.context_module.aggreg.0.0.weight",
        "decoder.stages.3.op_list.2.context_module.main.aggreg.0.1.weight": "decoder.stages.3.2.context_module.aggreg.0.1.weight",
        "decoder.stages.3.op_list.2.context_module.main.proj.conv.weight": "decoder.stages.3.2.context_module.proj.0.weight",
        "decoder.stages.3.op_list.2.context_module.main.proj.norm.bias": "decoder.stages.3.2.context_module.proj.1.bias",
        "decoder.stages.3.op_list.2.context_module.main.proj.norm.weight": "decoder.stages.3.2.context_module.proj.1.weight",
        "decoder.stages.3.op_list.2.context_module.main.qkv.conv.weight": "decoder.stages.3.2.context_module.qkv.0.weight",
        "decoder.stages.3.op_list.2.local_module.main.depth_conv.conv.bias": "decoder.stages.3.2.local_module.depth_conv.conv.bias",
        "decoder.stages.3.op_list.2.local_module.main.depth_conv.conv.weight": "decoder.stages.3.2.local_module.depth_conv.conv.weight",
        "decoder.stages.3.op_list.2.local_module.main.inverted_conv.conv.bias": "decoder.stages.3.2.local_module.inverted_conv.conv.bias",
        "decoder.stages.3.op_list.2.local_module.main.inverted_conv.conv.weight": "decoder.stages.3.2.local_module.inverted_conv.conv.weight",
        "decoder.stages.3.op_list.2.local_module.main.point_conv.conv.weight": "decoder.stages.3.2.local_module.point_conv.conv.weight",
        "decoder.stages.3.op_list.2.local_module.main.point_conv.norm.bias": "decoder.stages.3.2.local_module.point_conv.norm.bias",
        "decoder.stages.3.op_list.2.local_module.main.point_conv.norm.weight": "decoder.stages.3.2.local_module.point_conv.norm.weight",
        "decoder.stages.3.op_list.3.context_module.main.aggreg.0.0.weight": "decoder.stages.3.3.context_module.aggreg.0.0.weight",
        "decoder.stages.3.op_list.3.context_module.main.aggreg.0.1.weight": "decoder.stages.3.3.context_module.aggreg.0.1.weight",
        "decoder.stages.3.op_list.3.context_module.main.proj.conv.weight": "decoder.stages.3.3.context_module.proj.0.weight",
        "decoder.stages.3.op_list.3.context_module.main.proj.norm.bias": "decoder.stages.3.3.context_module.proj.1.bias",
        "decoder.stages.3.op_list.3.context_module.main.proj.norm.weight": "decoder.stages.3.3.context_module.proj.1.weight",
        "decoder.stages.3.op_list.3.context_module.main.qkv.conv.weight": "decoder.stages.3.3.context_module.qkv.0.weight",
        "decoder.stages.3.op_list.3.local_module.main.depth_conv.conv.bias": "decoder.stages.3.3.local_module.depth_conv.conv.bias",
        "decoder.stages.3.op_list.3.local_module.main.depth_conv.conv.weight": "decoder.stages.3.3.local_module.depth_conv.conv.weight",
        "decoder.stages.3.op_list.3.local_module.main.inverted_conv.conv.bias": "decoder.stages.3.3.local_module.inverted_conv.conv.bias",
        "decoder.stages.3.op_list.3.local_module.main.inverted_conv.conv.weight": "decoder.stages.3.3.local_module.inverted_conv.conv.weight",
        "decoder.stages.3.op_list.3.local_module.main.point_conv.conv.weight": "decoder.stages.3.3.local_module.point_conv.conv.weight",
        "decoder.stages.3.op_list.3.local_module.main.point_conv.norm.bias": "decoder.stages.3.3.local_module.point_conv.norm.bias",
        "decoder.stages.3.op_list.3.local_module.main.point_conv.norm.weight": "decoder.stages.3.3.local_module.point_conv.norm.weight",
        "decoder.stages.4.op_list.0.main.conv.conv.bias": "decoder.stages.4.0.main.conv.bias",
        "decoder.stages.4.op_list.0.main.conv.conv.weight": "decoder.stages.4.0.main.conv.weight",
        "decoder.stages.4.op_list.1.context_module.main.aggreg.0.0.weight": "decoder.stages.4.1.context_module.aggreg.0.0.weight",
        "decoder.stages.4.op_list.1.context_module.main.aggreg.0.1.weight": "decoder.stages.4.1.context_module.aggreg.0.1.weight",
        "decoder.stages.4.op_list.1.context_module.main.proj.conv.weight": "decoder.stages.4.1.context_module.proj.0.weight",
        "decoder.stages.4.op_list.1.context_module.main.proj.norm.bias": "decoder.stages.4.1.context_module.proj.1.bias",
        "decoder.stages.4.op_list.1.context_module.main.proj.norm.weight": "decoder.stages.4.1.context_module.proj.1.weight",
        "decoder.stages.4.op_list.1.context_module.main.qkv.conv.weight": "decoder.stages.4.1.context_module.qkv.0.weight",
        "decoder.stages.4.op_list.1.local_module.main.depth_conv.conv.bias": "decoder.stages.4.1.local_module.depth_conv.conv.bias",
        "decoder.stages.4.op_list.1.local_module.main.depth_conv.conv.weight": "decoder.stages.4.1.local_module.depth_conv.conv.weight",
        "decoder.stages.4.op_list.1.local_module.main.inverted_conv.conv.bias": "decoder.stages.4.1.local_module.inverted_conv.conv.bias",
        "decoder.stages.4.op_list.1.local_module.main.inverted_conv.conv.weight": "decoder.stages.4.1.local_module.inverted_conv.conv.weight",
        "decoder.stages.4.op_list.1.local_module.main.point_conv.conv.weight": "decoder.stages.4.1.local_module.point_conv.conv.weight",
        "decoder.stages.4.op_list.1.local_module.main.point_conv.norm.bias": "decoder.stages.4.1.local_module.point_conv.norm.bias",
        "decoder.stages.4.op_list.1.local_module.main.point_conv.norm.weight": "decoder.stages.4.1.local_module.point_conv.norm.weight",
        "decoder.stages.4.op_list.2.context_module.main.aggreg.0.0.weight": "decoder.stages.4.2.context_module.aggreg.0.0.weight",
        "decoder.stages.4.op_list.2.context_module.main.aggreg.0.1.weight": "decoder.stages.4.2.context_module.aggreg.0.1.weight",
        "decoder.stages.4.op_list.2.context_module.main.proj.conv.weight": "decoder.stages.4.2.context_module.proj.0.weight",
        "decoder.stages.4.op_list.2.context_module.main.proj.norm.bias": "decoder.stages.4.2.context_module.proj.1.bias",
        "decoder.stages.4.op_list.2.context_module.main.proj.norm.weight": "decoder.stages.4.2.context_module.proj.1.weight",
        "decoder.stages.4.op_list.2.context_module.main.qkv.conv.weight": "decoder.stages.4.2.context_module.qkv.0.weight",
        "decoder.stages.4.op_list.2.local_module.main.depth_conv.conv.bias": "decoder.stages.4.2.local_module.depth_conv.conv.bias",
        "decoder.stages.4.op_list.2.local_module.main.depth_conv.conv.weight": "decoder.stages.4.2.local_module.depth_conv.conv.weight",
        "decoder.stages.4.op_list.2.local_module.main.inverted_conv.conv.bias": "decoder.stages.4.2.local_module.inverted_conv.conv.bias",
        "decoder.stages.4.op_list.2.local_module.main.inverted_conv.conv.weight": "decoder.stages.4.2.local_module.inverted_conv.conv.weight",
        "decoder.stages.4.op_list.2.local_module.main.point_conv.conv.weight": "decoder.stages.4.2.local_module.point_conv.conv.weight",
        "decoder.stages.4.op_list.2.local_module.main.point_conv.norm.bias": "decoder.stages.4.2.local_module.point_conv.norm.bias",
        "decoder.stages.4.op_list.2.local_module.main.point_conv.norm.weight": "decoder.stages.4.2.local_module.point_conv.norm.weight",
        "decoder.stages.4.op_list.3.context_module.main.aggreg.0.0.weight": "decoder.stages.4.3.context_module.aggreg.0.0.weight",
        "decoder.stages.4.op_list.3.context_module.main.aggreg.0.1.weight": "decoder.stages.4.3.context_module.aggreg.0.1.weight",
        "decoder.stages.4.op_list.3.context_module.main.proj.conv.weight": "decoder.stages.4.3.context_module.proj.0.weight",
        "decoder.stages.4.op_list.3.context_module.main.proj.norm.bias": "decoder.stages.4.3.context_module.proj.1.bias",
        "decoder.stages.4.op_list.3.context_module.main.proj.norm.weight": "decoder.stages.4.3.context_module.proj.1.weight",
        "decoder.stages.4.op_list.3.context_module.main.qkv.conv.weight": "decoder.stages.4.3.context_module.qkv.0.weight",
        "decoder.stages.4.op_list.3.local_module.main.depth_conv.conv.bias": "decoder.stages.4.3.local_module.depth_conv.conv.bias",
        "decoder.stages.4.op_list.3.local_module.main.depth_conv.conv.weight": "decoder.stages.4.3.local_module.depth_conv.conv.weight",
        "decoder.stages.4.op_list.3.local_module.main.inverted_conv.conv.bias": "decoder.stages.4.3.local_module.inverted_conv.conv.bias",
        "decoder.stages.4.op_list.3.local_module.main.inverted_conv.conv.weight": "decoder.stages.4.3.local_module.inverted_conv.conv.weight",
        "decoder.stages.4.op_list.3.local_module.main.point_conv.conv.weight": "decoder.stages.4.3.local_module.point_conv.conv.weight",
        "decoder.stages.4.op_list.3.local_module.main.point_conv.norm.bias": "decoder.stages.4.3.local_module.point_conv.norm.bias",
        "decoder.stages.4.op_list.3.local_module.main.point_conv.norm.weight": "decoder.stages.4.3.local_module.point_conv.norm.weight",
        "decoder.stages.5.op_list.0.context_module.main.aggreg.0.0.weight": "decoder.stages.5.0.context_module.aggreg.0.0.weight",
        "decoder.stages.5.op_list.0.context_module.main.aggreg.0.1.weight": "decoder.stages.5.0.context_module.aggreg.0.1.weight",
        "decoder.stages.5.op_list.0.context_module.main.proj.conv.weight": "decoder.stages.5.0.context_module.proj.0.weight",
        "decoder.stages.5.op_list.0.context_module.main.proj.norm.bias": "decoder.stages.5.0.context_module.proj.1.bias",
        "decoder.stages.5.op_list.0.context_module.main.proj.norm.weight": "decoder.stages.5.0.context_module.proj.1.weight",
        "decoder.stages.5.op_list.0.context_module.main.qkv.conv.weight": "decoder.stages.5.0.context_module.qkv.0.weight",
        "decoder.stages.5.op_list.0.local_module.main.depth_conv.conv.bias": "decoder.stages.5.0.local_module.depth_conv.conv.bias",
        "decoder.stages.5.op_list.0.local_module.main.depth_conv.conv.weight": "decoder.stages.5.0.local_module.depth_conv.conv.weight",
        "decoder.stages.5.op_list.0.local_module.main.inverted_conv.conv.bias": "decoder.stages.5.0.local_module.inverted_conv.conv.bias",
        "decoder.stages.5.op_list.0.local_module.main.inverted_conv.conv.weight": "decoder.stages.5.0.local_module.inverted_conv.conv.weight",
        "decoder.stages.5.op_list.0.local_module.main.point_conv.conv.weight": "decoder.stages.5.0.local_module.point_conv.conv.weight",
        "decoder.stages.5.op_list.0.local_module.main.point_conv.norm.bias": "decoder.stages.5.0.local_module.point_conv.norm.bias",
        "decoder.stages.5.op_list.0.local_module.main.point_conv.norm.weight": "decoder.stages.5.0.local_module.point_conv.norm.weight",
        "decoder.stages.5.op_list.1.context_module.main.aggreg.0.0.weight": "decoder.stages.5.1.context_module.aggreg.0.0.weight",
        "decoder.stages.5.op_list.1.context_module.main.aggreg.0.1.weight": "decoder.stages.5.1.context_module.aggreg.0.1.weight",
        "decoder.stages.5.op_list.1.context_module.main.proj.conv.weight": "decoder.stages.5.1.context_module.proj.0.weight",
        "decoder.stages.5.op_list.1.context_module.main.proj.norm.bias": "decoder.stages.5.1.context_module.proj.1.bias",
        "decoder.stages.5.op_list.1.context_module.main.proj.norm.weight": "decoder.stages.5.1.context_module.proj.1.weight",
        "decoder.stages.5.op_list.1.context_module.main.qkv.conv.weight": "decoder.stages.5.1.context_module.qkv.0.weight",
        "decoder.stages.5.op_list.1.local_module.main.depth_conv.conv.bias": "decoder.stages.5.1.local_module.depth_conv.conv.bias",
        "decoder.stages.5.op_list.1.local_module.main.depth_conv.conv.weight": "decoder.stages.5.1.local_module.depth_conv.conv.weight",
        "decoder.stages.5.op_list.1.local_module.main.inverted_conv.conv.bias": "decoder.stages.5.1.local_module.inverted_conv.conv.bias",
        "decoder.stages.5.op_list.1.local_module.main.inverted_conv.conv.weight": "decoder.stages.5.1.local_module.inverted_conv.conv.weight",
        "decoder.stages.5.op_list.1.local_module.main.point_conv.conv.weight": "decoder.stages.5.1.local_module.point_conv.conv.weight",
        "decoder.stages.5.op_list.1.local_module.main.point_conv.norm.bias": "decoder.stages.5.1.local_module.point_conv.norm.bias",
        "decoder.stages.5.op_list.1.local_module.main.point_conv.norm.weight": "decoder.stages.5.1.local_module.point_conv.norm.weight",
        "decoder.stages.5.op_list.2.context_module.main.aggreg.0.0.weight": "decoder.stages.5.2.context_module.aggreg.0.0.weight",
        "decoder.stages.5.op_list.2.context_module.main.aggreg.0.1.weight": "decoder.stages.5.2.context_module.aggreg.0.1.weight",
        "decoder.stages.5.op_list.2.context_module.main.proj.conv.weight": "decoder.stages.5.2.context_module.proj.0.weight",
        "decoder.stages.5.op_list.2.context_module.main.proj.norm.bias": "decoder.stages.5.2.context_module.proj.1.bias",
        "decoder.stages.5.op_list.2.context_module.main.proj.norm.weight": "decoder.stages.5.2.context_module.proj.1.weight",
        "decoder.stages.5.op_list.2.context_module.main.qkv.conv.weight": "decoder.stages.5.2.context_module.qkv.0.weight",
        "decoder.stages.5.op_list.2.local_module.main.depth_conv.conv.bias": "decoder.stages.5.2.local_module.depth_conv.conv.bias",
        "decoder.stages.5.op_list.2.local_module.main.depth_conv.conv.weight": "decoder.stages.5.2.local_module.depth_conv.conv.weight",
        "decoder.stages.5.op_list.2.local_module.main.inverted_conv.conv.bias": "decoder.stages.5.2.local_module.inverted_conv.conv.bias",
        "decoder.stages.5.op_list.2.local_module.main.inverted_conv.conv.weight": "decoder.stages.5.2.local_module.inverted_conv.conv.weight",
        "decoder.stages.5.op_list.2.local_module.main.point_conv.conv.weight": "decoder.stages.5.2.local_module.point_conv.conv.weight",
        "decoder.stages.5.op_list.2.local_module.main.point_conv.norm.bias": "decoder.stages.5.2.local_module.point_conv.norm.bias",
        "decoder.stages.5.op_list.2.local_module.main.point_conv.norm.weight": "decoder.stages.5.2.local_module.point_conv.norm.weight",
        "decoder.project_out.op_list.0.bias": "decoder.project_out.0.bias",
        "decoder.project_out.op_list.0.weight": "decoder.project_out.0.weight",
        "decoder.project_out.op_list.2.conv.bias": "decoder.project_out.2.conv.bias",
        "decoder.project_out.op_list.2.conv.weight": "decoder.project_out.2.conv.weight",
    }
